package org.test.device.constant;

import lombok.Getter;

/**
 * 〈〉<br>
 *
 * @author Mr.Wang
 * @create 2025/9/27
 */
@Getter
public enum ProductStatusEnum {

    /**
     * 产品状态
     */
    PRODUCT_STATUS_DISABLED(0, "产品禁用（不可关联设备）"),
    PRODUCT_STATUS_ENABLED(1, "产品启用（可关联设备）");

    private final Integer code;

    // 常量描述（用于日志、接口返回等场景，提高可读性）
    private final String desc;

    ProductStatusEnum(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    /**
     * 根据状态码（code）获取对应的描述（desc）
     *
     * @param code
     * @return
     */
// 根据code获取对应的desc
    public static String getDescByCode(Integer code) {
        // 遍历所有枚举值，匹配code
        for (ProductStatusEnum status : values()) {
            if (status.code.equals(code)) {
                return status.desc;
            }
        }
        // 未匹配到返回默认描述（或抛出异常，根据业务需求选择）
        return "未知产品状态";
    }
}